//#include "reg51.h"
//#include "intrins.h"
//
//typedef unsigned int u16;
//typedef unsigned char u8;
//
//sbit LED1 = P2^0;
//sbit LED2 = P2^1;
//sbit KEY3 = P3^2;
//
//void dalay_10us(u16 ten_us)
//{
//	while (ten_us--)
//	{
//		;
//	}
//}
//
//void exit0_init()
//{
//	IT0 = 1;
//	EX0 = 1;
//	EA = 1;
//}
//
//int main()
//{
//	exit0_init(); // initialize the external interrupt 0
//
//	while (1)
//	{
//		LED2 = !LED2;
//		dalay_10us(50000);
//	}
//
//	return 0;
//}
//
//void exit0() interrupt 0
//{
//	dalay_10us(1000); // remove jitter
//	if (KEY3 == 0)
//		LED1 = !LED1;
//}

// Timer interrupt
#include "reg51.h"

typedef unsigned int u16;
typedef unsigned char u8;

sbit LED1 = P2^0;

void time0_init()
{
    TMOD |= 0x01;
    TH0 = 0xFC;
    TL0 = 0x18;
    ET0 = 1;
    EA = 1;
    TR0 = 1;
}

int main()
{
    time0_init();

    while (1)
    {

    }
}

void time0() interrupt 1
{
    static u16 i;
    TH0 = 0xFC;
    TL0 = 0x18;
    i++;
    if (i == 1000)
    {
        i = 0;
        LED1 = !LED1;
    }
}